package com.brush.common.core.domain.resp;

import com.brush.common.core.domain.entity.SysDept;
import com.brush.common.core.domain.entity.SysRole;
import com.brush.common.core.domain.entity.SysUser;
import lombok.Getter;
import lombok.Setter;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 自定义对象
 */
@Getter
@Setter
public class AdminUserResp {
    /** 用户ID */
    private Long userId;


    private Long deptId;

    /** 用户账号 */
    private String userName;

    /** 密码 */
    private String password;


    /** 用户昵称 */
    private String nickName;

    /** 用户邮箱 */
    private String email;

    /** 手机号码 */
    private String phonenumber;
    /** 用户性别 */
    private String sex;

    /** 用户头像 */
    private String avatar;

    /** 最后登录IP */
    private String loginIp;

    /** 最后登录的地址 */
    private String loginLocation;

    /** 最后登录时间 */
    private Date loginDate;

    private String remark;


    /**
     * 角色列表
     */
    private List<SysRoleResp> roles;

    /**
     * 所在部门
     */
    private SysDept dept;


    public AdminUserResp(SysUser user, List<SysRole> roles,SysDept dept) {
        this.userId = user.getUserId();
        this.password = user.getPassword();
        this.userName = user.getUserName();
        this.nickName = user.getNickName();
        this.email = user.getEmail();
        this.phonenumber = user.getPhonenumber();
        this.sex = user.getSex();
        this.avatar = user.getAvatar();
        this.loginIp = user.getLoginIp();

        //转换对象
        List<SysRoleResp> roleResps=new ArrayList<>();
        for (SysRole role : roles) {
            roleResps.add(new SysRoleResp(role));
        }

        this.roles=roleResps;
        this.dept=dept;
        this.deptId=dept.getDeptId();
    }

    /**
     * 默认构造函数，JSON正常序列化和反序列化使用
     */
    public AdminUserResp(){
    }

}
